7
תגובות
שלום,
יצרתי מערכת קטנה להעלאת קבצים:

<?php
$site = "http://pazcode.net/";
$target_path = 'uploads/'.$_FILES['uploadedfile']['name'];

$result = move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path);

if($result) {
    print "<center>
  <strong style='font-family: arial; color: green;'>הקובץ הועלה בהצלחה !</strong><br/>
  <img src='"
.$target_path."' alt='' /><br/>
  <strong style='font-family: arial;'>קוד לפורומים: </strong>
  <input type='text' value='[IMG]"
.$site.$target_path."[/IMG]' /><br />
  <strong style='font-family: arial;'>קוד לאתרים: </strong>
  <input type='text' value=\"<img src='"
.$site.$target_path."' alt='' />\"<br />
  </center>"
;
}
else {
    echo "למה לא העלאת קובץ יפרחח?!";
}

?>


אז איך אני הופך אותה להעלאת תמונות? כלומר עושה שאפשר רק סיומות מסיומות?
עזרה בבקשה..

7 תשובות

avatar ענה intval ב 25 לאוגוסט 2012 #

קודם כל צריך לברר את סוג הקובץ
לאחר מכן לבדוק אותו מול רשימה של סוגים מותרים להעלאה

array('image/png', 'image/jpeg', 'image/gif');

avatar ענה Pazcode ב 25 לאוגוסט 2012 #

הבירור סוג קובץ שהבאת לי לא עובד..

avatar ענה intval ב 25 לאוגוסט 2012 #

ממליץ לקרוא את כל הטקסט בקישור

avatar ענה RaFaeL ב 25 לאוגוסט 2012 #

דווקא במקרה של העלאת תמונות עדיף להשתמש ב getimagesize().
הפונקציה getimagesize תחזיר false במקרה שהקובץ איננו תמונה או מערך עם מידע על התמונה אם זו תמונה, לא משנה באיזו סיומת יהיה הקובץ.

avatar ענה Pazcode ב 25 לאוגוסט 2012 #

תוכלו להרכיב את זה על הקוד שכתבתי ולהביא לי?
כי לא הבנתי את זה..

avatar ענה intval ב 25 לאוגוסט 2012 #

<?php

$site = "http://pazcode.net/";
$target_path = 'uploads/'.$_FILES['uploadedfile']['name'];

if(false === getimagesize($_FILES['uploadedfile']['tmp_name']))
{
  echo 'this file is not an image';
}
else
{

  $result = move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path);

  if($result) {
    print "...";
  }
  else {
    echo "למה לא העלאת קובץ יפרחח?!";
  }
}

avatar ענה iiddaannyy ב 25 לאוגוסט 2012 #

getimagesize תזרוק שגיאת E_WARNING שהקובץ הוא לא תמונה.